package jm.java.stringTable;

/**
 * @Description 串池演示
 * @date 2022/3/19 14:05
 */
public class ShowStringTable {
    public static void main(String[] args) {
        String s1 = "a";
        String s2 = "b";
        String s3 = "ab";


        // new 的两个String 对象都是存到堆中的，因为拼接原理调用的是new StringBuilder 所以 s 对象也存在堆中的。
        // 串池中只有两个常量 "a" , "b"
        // intern 方法可以将字符串对象的引用放入串池，有就不会放入，返回串池中的对象。
        String s = new String("a") + new String("b");

        // 执行完毕之后就会将 "ab" 放入到串池；s2 引用的也是串池 ab 对象。
        String intern = s.intern();

        System.out.println(intern == "ab");


    }
}
